package com.sky.service.admin;

import com.sky.dto.EmployeeDTO;
import com.sky.dto.EmployeeLoginDTO;
import com.sky.dto.EmployeePageQueryDTO;
import com.sky.exception.EmployeeNotExistException;
import com.sky.pojo.Employee;
import com.sky.result.PageResult;
import com.sky.result.Result;
import com.sky.vo.EmployeeLoginVO;

public interface EmployeeService {

    /**
     * 员工登录
     *
     * @param employeeLoginDTO
     * @return
     */
    EmployeeLoginVO login(EmployeeLoginDTO employeeLoginDTO);


    void add(EmployeeDTO employee);

    PageResult page(EmployeePageQueryDTO employeePageQueryDTO);
    /**
     * 启用或禁用
     * @param status
     * @param id
     * @return
     */
    Result<String> startOrStop(Integer status, Long id);
    /**
     * 根据ID查询
     * @param id
     * @return
     */
    Result<Employee> findById(Long id) throws EmployeeNotExistException;
    /**
     * 编辑员工信息
     * @param employee
     */
    void update(Employee employee);
}
